package ScalaStudy.chapter07

object Test08_Map_Immutable {
  def main(args: Array[String]): Unit = {


    /////////////////////////////////////////////////////////////////////////////////////////
    ///////////////////////////////////////////  map映射  ////////////////////////////////////
    /////////////////////////////////////////////////////////////////////////////////////////
    //不可变


    println("===================  创建 不可变 Map  ===================")

    val map: Map[String, Int] = Map("a" -> 1, "b" -> 2, "c" -> 3)
    println(map)

    println("===================  遍历 Map  ===================")

    map.foreach(println)                               //是下面的简写
    map.foreach((kv:(String, Int)) => println(kv))

    println("===================  遍历 键和值  ===================")

    //取map中所有的key
    for (key <- map.keys){
      println(s"${key} --> ${map.get(key)}")
    }

    //访问某一个key的value
    println(map("a"))                    //返回的是键对应的真实值
    println(map.get("a"))                //返回的是some类型的值
    println(map.get("d"))                //没有”d“这个键，返回的是空指针
    println(map.getOrElse("d",0))        //没有”d“这个键，返回的默认值0




  }
}
